package cn.xopencode.userservice.rpc.user.dto;

import cn.xopencode.common.framework.validator.InEnum;
import cn.xopencode.common.framework.validator.Mobile;
import cn.xopencode.userservice.enums.GenderEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 用户创建 Request DTO
 */
@Data
@Accessors(chain = true)
public class UserCreateReqDTO implements Serializable {

    /**
     * 手机号
     */
    @NotNull(message = "手机号不能为空")
    @Mobile(message = "手机格式不正确")
    private String mobile;
    /**
     * 密码
     *
     * 允许为空，自动生成
     */
    private String password;
    /**
     * empl_name
     */
    @NotNull(message = "员工姓名不能为空")
    private String empl_name;
    /**
     * user_name
     */
    @NotNull(message = "用户账号不能为空")
    private String user_name;
    /**
     * 员工性别：0为难，1为女；默认为男
     */
    @NotNull(message = "用户性别不能为空")
    @InEnum(value = GenderEnum.class, message = "性别必须是 {value}")
    private Integer gender;
}
